
#include "register/tilingdata_base.h"

namespace optiling {
BEGIN_TILING_DATA_DEF(CopysignTilingData)
TILING_DATA_FIELD_DEF(uint16_t, nDim);
TILING_DATA_FIELD_DEF(uint16_t, nAcores);
TILING_DATA_FIELD_DEF(uint16_t, nBcores);
TILING_DATA_FIELD_DEF(uint16_t, maxBlockPerIter);
TILING_DATA_FIELD_DEF(uint32_t, blockPerCore);
TILING_DATA_FIELD_DEF_ARR(uint32_t, 5, shapeInput);
TILING_DATA_FIELD_DEF_ARR(uint32_t, 5, shapeOther);
END_TILING_DATA_DEF;
REGISTER_TILING_DATA_CLASS(Copysign, CopysignTilingData)

BEGIN_TILING_DATA_DEF(CopysignTilingDataBroadSpec)
TILING_DATA_FIELD_DEF(uint32_t, broadcastDim);
TILING_DATA_FIELD_DEF(uint32_t, batchDataSize);
TILING_DATA_FIELD_DEF(uint32_t, nBatchPerCore);
TILING_DATA_FIELD_DEF(uint16_t, nAcores);
TILING_DATA_FIELD_DEF(uint16_t, nBcores);
END_TILING_DATA_DEF;
REGISTER_TILING_DATA_CLASS(Copysign_1, CopysignTilingDataBroadSpec)

BEGIN_TILING_DATA_DEF(CopysignTilingDataVec)
TILING_DATA_FIELD_DEF(uint16_t, nAcores);
TILING_DATA_FIELD_DEF(uint16_t, nBcores);
TILING_DATA_FIELD_DEF(uint16_t, maxBlockPerIter);
TILING_DATA_FIELD_DEF(uint32_t, blockPerCore);
END_TILING_DATA_DEF;
REGISTER_TILING_DATA_CLASS(Copysign_2, CopysignTilingDataVec)
}
